exercism run-length encoding